package cn.dakaqi.activity.apply.service;

import cn.dakaqi.entities.Activity;
import cn.dakaqi.entities.ActivityApply;
import cn.dakaqi.entities.Volunteer;
import cn.dakaqi.utils.exception.ServiceRuntimeException;
import org.springframework.data.domain.Page;

/**
 * Created by chunyang on 2016/4/17.
 */
public interface ActivityApplyService
{
    void save(String jsonData)throws ServiceRuntimeException;
    void save(ActivityApply activityApply)throws ServiceRuntimeException;
    void update(ActivityApply activityApply)throws ServiceRuntimeException;
    void exit(String jsonData)throws ServiceRuntimeException;
    void exit(ActivityApply activityApply)throws ServiceRuntimeException;
    void del(Long id)throws ServiceRuntimeException;
    void verfier(String memberCode,Long id,int Status)throws ServiceRuntimeException;
    Page<ActivityApply> queryByMember(String memberCode,int pageNumber)throws ServiceRuntimeException;
    Page<ActivityApply> queryByMember(String memberCode,int status,int pageNumber)throws ServiceRuntimeException;
    Page<ActivityApply> queryByActivity(String activityCode,int status,int pageNumber)throws ServiceRuntimeException;
    Page<ActivityApply> queryAllByActivity(String activityCode,int pageNumber)throws ServiceRuntimeException;
    ActivityApply findByVolunteerAndActivity(Volunteer volunteer,Activity activity)throws ServiceRuntimeException;
    ActivityApply findByVolunteerAndActivity(String memberCode,String activityCode)throws ServiceRuntimeException;
    void verfier(String param)throws ServiceRuntimeException;
    void setAdmin(String param)throws ServiceRuntimeException;
    public void setAdmin(Long id, int role,String memberCode) throws ServiceRuntimeException;
    Page<ActivityApply> queryByMemberAndActivityNotEND(String memberCode,int pageNumber)throws ServiceRuntimeException;

}
